H2 handle :protocol for extended CONNECT#613
H2 handle :protocol for extended CONNECT#613arturobernalg wants to merge 1 commit intoapache:masterfrom
Conversation
|
A follow‑up PR will expose the client‑side pieces (see https://github.com/apache/httpcomponents-client/pull/762/changes). |
|
@arturobernalg What is your plan? Do you want to provide the server side functionality out of the core project and the client side out of the client project? Should not the client protocol handler also go into core? |
@ok2c Plan is to keep server‑side WebSocket over H2 in core and client‑side in httpclient5. The client protocol handler is tied to the client execution stack and config, so it should stay in httpclient5. See apache/httpcomponents-client#762 |
|
@arturobernalg Interesting. How are you going to do integrations tests for the websocket protocol when it resides in two separate projects? The separation between core and client for HTTP protocol handlers is reasonably manageable: the message transport and the core protocol handling reside in core, advanced client functions reside in client. The core has integration tests that ensure correctness of the protocol handlers on both ends. in your case, I suspect the split into the server project and the client project will be hurting you in the long run. I do not know. This is your decision to make, but you may be better off having the server side websockets in the client project, at least for a few minor releases. |
cf92065 to
2addf93
Compare
@ok2c |
|
@arturobernalg Wait. Again. Do you really want some WS primitives in a different project, so that every time you want something changed in those primitives you need a new release of core? Does that make sense? Move everything WS related to client. Start low and simple. For your own sake reduce the public API footprint as much as possible. Gradually open it up as it matures, and at some point consider moving core protocol to core. |
1936cc2 to
efdf6df
Compare
@ok2c Okay. I'll do it gradually once the whole code is mature enough. I just move something related to WS |
|
@arturobernalg Please update the commit message and the PR title. |
Validate extended CONNECT requirements and emit :protocol in HTTP/2 requests.
efdf6df to
fa737d7
Compare
|
Hi Oleg,
Tank you for taking the time to put it forward. I really appreciate it.
Please let me know if you need anything from me.
Have a great Sunday too,
Arturo
Arturo
…On Sun, Feb 8, 2026 at 4:02 PM Oleg Kalnichevski ***@***.***> wrote:
*ok2c* left a comment (apache/httpcomponents-core#613)
<#613 (comment)>
@arturobernalg <https://github.com/arturobernalg> Please update the
commit message and the PR title.
—
Reply to this email directly, view it on GitHub
<#613 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABD3THVEORYR6LY27NVWME34K5FVRAVCNFSM6AAAAACUD4MRQCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQNRXGM2TOMZVGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Improve server handling and add extensive core tests/examples Align client usage with core WebSocket APIs
Extend HTTP/2 request conversion and tests
@ok2c DefaultH2RequestConverter has a minimal RFC 8441 change (handling :protocol for CONNECT). This is required for H2 WebSocket server support. I tried to keep it separated, but was impossible.